#pragma once

enum KType
{
	K_INT,
	K_REAL,
	K_STRING,
	K_UNKNOWN //used when performing type check
};

enum KTypeMatch
{
	K_TYPE_MATCHED,
	K_TYPE_MISMATCHED,
	K_TYPE_CAST
};

static KTypeMatch TypeMatchTable[3][4] =
{	//           int             real            string             unknown
	/*int*/    { K_TYPE_MATCHED, K_TYPE_CAST,    K_TYPE_MISMATCHED, K_TYPE_CAST },
	/*real*/   { K_TYPE_CAST,    K_TYPE_MATCHED, K_TYPE_MISMATCHED, K_TYPE_CAST },
	/*string*/ { K_TYPE_CAST,    K_TYPE_CAST,    K_TYPE_MATCHED,    K_TYPE_CAST }
};
